#include "app_buffer.h"
#include "log/log.h"

int main(int argc, char *argv[])
{
    // 检验出指针范围溢出
    // Buffer *buffer0 = app_buffer_init(300);
    // char data[255];
    // for (int i = 0; i < 255; i++)
    // {
    //     data[i] = 'a';
    // }
    // app_buffer_write(buffer0, data, 255);
    // char data_buf0[300];
    // int len0 = app_buffer_read(buffer0, data_buf0, 300);
    // log_debug("读取数据0长度:%d,内容：%.*s", len0, len0, data_buf0);

    // 初始化缓冲区
    Buffer *buffer = app_buffer_init(14);

    // 写入数据1
    app_buffer_write(buffer, "hello", 5);

    // 写入数据2
    app_buffer_write(buffer, "world!", 6);

    // 写入数据3
    app_buffer_write(buffer, "1234567890", 10);

    // 读取数据1
    char data1[10];
    int len = app_buffer_read(buffer, data1, 10);
    log_debug("data1: %.*s, len: %d", len, data1, len);

    // 读取数据2
    char data2[10];
    len = app_buffer_read(buffer, data2, 10);
    log_debug("data2: %.*s, len: %d", len, data2, len);

    // 读取数据3
    char data3[10];
    len = app_buffer_read(buffer, data3, 10);
    log_debug("data3: %.*s, len: %d", len, data3, len);

    // 释放缓冲区
    app_buffer_free(buffer);

    return 0;
}
